home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d21
/
dvmulti.arc
/
DVMULTI.H
< prev
next >
Wrap
C/C++ Source or Header
|
1989-10-25
|
4KB
|
113 lines
/* Include file for multi-tasking test program
1989 MIPS Magazine / Mark Mallett
*/
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif /* TRUE */
typedef char BYTE;
typedef unsigned char UBYTE;
typedef short int WORD;
typedef unsigned short int UWORD;
typedef long LONG;
typedef unsigned long ULONG;
#define DVVER 0x201
#define MAXSLAVES 20
/* Drive and directory where the executables will reside */
#define TESTDRIVE 'C'
#define TESTDIR "\\DT"
/* Number of bytes of overhead added by the ftab() macro */
#define FTABBASE 7
/* Display attributes */
#define ATTR_REVERSE 9
#define ATTR_ERROR 5
/* SUPER/SLAVE message codes */
#define MSG_CONFIG 1 /* Configuration & startup */
#define MSG_READY 2 /* SLAVE is ready */
#define MSG_GO 3 /* SLAVE should go */
#define MSG_STOP 4 /* SLAVE should stop */
#define MSG_REPORT 5 /* Report message */
typedef /* Configuration & startup message */
struct {
int cm_taskN; /* Task sequence number */
int cm_ioC; /* I/O count */
long cm_fsize; /* Size of test file */
int cm_xsize; /* Size of I/O transfers */
int cm_iobufC; /* Number of I/O buffers */
char cm_readF; /* Read test */
char cm_writeF; /* Write test */
char cm_seqF; /* Sequential (or random) */
long cm_cpuC; /* CPU cycles */
long cm_sleep; /* Sleep time */
} CNMSG;
typedef /* Report message */
struct {
long rm_loopC; /* Number of loops */
int rm_tick; /* Tick resolution */
ULONG rm_alltime; /* All time */
ULONG rm_readtime; /* Time spent reading */
ULONG rm_writetime; /* Time spent writing */
ULONG rm_cputime; /* Time spent in CPU exercise */
} RSMSG;
#pragma pack(1)
typedef /* Structure of DVP data */
struct {
WORD dvp_rsv1; /* Reserved */
char dvp_title[30]; /* Title */
WORD dvp_maxmem; /* Max memory required, in K */
WORD dvp_minmem; /* Min memory required, in K */
char dvp_execcmd[64]; /* Execution command */
char dvp_drive; /* Default drive name */
char dvp_dir[64]; /* Default directory */
char dvp_parms[64]; /* Program parameters */
char dvp_scrmode; /* Screen mode */
UBYTE dvp_tpages; /* # of text pages */
UBYTE dvp_firstvec; /* First interrupt vector saved */
UBYTE dvp_lastvec; /* Last vector saved */
UBYTE dvp_lrows; /* Logical rows in window */
UBYTE dvp_lcols; /* Logical cols in window */
UBYTE dvp_irow; /* Initial row */
UBYTE dvp_icol; /* Initial column */
UWORD dvp_sysmem; /* System memory in K */
char dvp_shrprg[64]; /* Shared program name */
char dvp_shrdata[64]; /* Shared data */
UBYTE dvp_ctlbyte1; /* Control byte */
UBYTE dvp_ctlbyte2; /* Second control byte */
char dvp_startkeys[2]; /* Start keys for open menu */
UWORD dvp_scriptsize; /* Size of script buffer */
UWORD dvp_keypause; /* Pause after this many keytries */
UBYTE dvp_cmapdisable; /* Disable color map */
UBYTE dvp_swappable; /* If can swap */
UBYTE dvp_rsv2[3]; /* More reserved */
UBYTE dvp_eclose; /* Close on exit */
UBYTE dvp_copyprot; /* Requires copyprotected disk */
UBYTE dvp_rsv3; /* Reserved -- must be 1 */
UBYTE dvp_shrmem; /* Use shared mem? */
UBYTE dvp_prows; /* Physical rows */
UBYTE dvp_pcols; /* Physical columns */
UWORD dvp_expmem; /* KB of expanded memory available */
UBYTE dvp_ctlbyte3; /* More control */
UBYTE dvp_kbdconf; /* Keyboard conflict level */
UBYTE dvp_graphpages; /* # of graphics pages */
UWORD dvp_sysmem2; /* System memory size (more so) */
UBYTE dvp_iniscrmode; /* Initial screen mode */
UBYTE dvp_rsv4[22]; /* Reserved */
} DVP;
#pragma pack()